Various websites and online services analyze the behavior of users of their services in order to select relevant content to be presented either to those same users or to other users. For example, some search engines keep track of a search history of their users in order to determine which display advertisements may be of interest to them, and some online music services may observe that a first user's listening history resembles a second user's listening history and therefore suggest to the second user a favorite song of the first user to which the second user has not yet listened.
In order to estimate which advertisements, webpages, geographical locations, or other potential user events may be of interest to a user, online services may collect profile information about the user and behavioral information regarding actions performed either by that user or by other users. The behavioral information may include information about one or more event types of user actions, such as selections of buttons or webpage hyperlinks, submissions of search queries to search engines or other online services, and dwell times with respect to various network resources (e.g. how long a webpage is estimated to have been viewed). The information may be stored in a format which facilitates analysis and extrapolation of estimated user interests and/or anticipated user behaviors.
Generally, different types of information are stored in a respective format suitable for representing that type of information. For example, a web-browsing history of a user may be represented as a catalog of uniform resource identifiers (URIs) of various network resources having been visited by the user, each URI perhaps being accompanied by a timestamp indicative of a date and time that the network resource was visited and/or a dwell time indicative of the amount of time the user presumably spent viewing the network resource. A geographical history of a user, on the other hand, may be represented by a series of geographical coordinates associated with the user, such as position data collected by the user's smartphone or “check-ins” reported by the user to one or more online services, such as social networking services.
Because user events of different types are conventionally represented using different information formats, they can be difficult if not impossible to compare and analyze. Moreover, the sheer number of recorded user can render analysis of the user events inefficient if not impossible. There is therefore a need for improved methods for estimating user interests.